Started changing...
stuck...
corrected mistakes...
Need testing and test cases