moved datatypes to own file
modified test cases