first commit with basic functionality