added initial coercion and built-in pow() functionality