First version ready for commit with all basic data and functions