[WIP] add base functionalities
references #1