Much stuff. Started writing tests