re-organize solution