add FIXME
split up long function
vim is broke on this machine