finished primary functionality, needs verbosity adding.