Big overhaul, thanks to Adm|nymous' advice