First version that should actually work.