switch to a Class implementation