lap:refactored