refactored a tiny bit with concerns