Still working on ironing out inconsistencies.