Add basic functionality and draft code