started implementing and testing