made more dynamic per request :D