working on traits
add foreign modules
added trait impls
clean up macro invocations
added vector patterns