initial commit with some basic functionality