misc changes

1) code improvement
2) room for sub message
3) button improvements