added dynamic vs static