Better location list widget and some messy code