Basic functionality. Will need to make it into a package and add some parsing and other good stuff in.