added tests for a more formal verification and understanding