new stuff with fixed errors