static vs dynamic