add jasmine test files and add interfaces for better testing purposes