finished skeleton. Need handle primitive type issue.
start working on checking interval