WIP. Need a different approach.