dynamic main; appearance added