initial commit
implement basic layout and calculation