initial commit with some pseudocode