refactored 01 and 02