started writing intrafces for SOLID