simpler coade
more changes