refactored + added pointers