Implemented basic functionality

Further improvements may be implemented in the future. But for now, the
exercise is completed