refactored build1