revised initializers, added button creation by code