added more feature tests
code cleanup