more methods, more madness, need to recheck this will clear head