got basic working... need tests and documentation
added missing files
added missing files