refactored, use & instead of whitespace