rework the struct; add requirejs; non-working version!

Signed-off-by: Devon Hazelett <xdev@devxdev.com>