added support for bool, double, long