Started adding tests and progress on prototyping.