Added all abstract methods; implemented into robot