got all basic logic working