implementing support of more datatypes, not finished yet