made prototype its own class that works with jsobject