Development

Adding tests and logging through dependency interjection