making it dynamic