Re-wrote everything, bumped version to 2