support prototype keyword