More dynamic, still WIP.