Changing interfaces for testing
Adding tests