Various changes... somewhat works