refactoring - status: broken