added functions for non-vectors (floats and doubles)
added option to use implicit cast between float and vector