Basic functionality done, needs validation error handling

As well as formatting