added basic structure for possibility of testing