moved button implementation to init