Updated with ermahgerd branch