use parseHTML
move preload to controller