Started putting it together

Only testing in LINQPad for now, remember to make proper unit tests
later