add implemetation for methods and change the compiler file