initial commit with some features