added interface for testing