added new class
refactor: file organisation changed