Implementing a self-driving car