initial commit
smarter implementation using unmarshal
proof of concept -- duplicate a page
modularized