i think i have the basic idea down