fixed generic, implicit conversion bugs