Started implementing basic functionality and added a library project for common functionality.