update build file
update start file
update sources files
change abstract class to interface