refactored due to server-side-pathing