towards completely refactored needle