added support for mixed type

also added a few tests for multiple type support