wrapped functions in protoypes and changed variables in properties, don't understand the underscore shizzle