Basic functionality completed. Needs testing and to add Results functionality