move and/all codes above