a bit messy versions