lots of changes
generated static