Done for the most part