already refactored but still have problems