object prototype style
tidy and de-debug