improved button rendering