Updated with basic test suite