classes implimentation changed