very very rough design plan