updates and simplification