first steps to application design