initial setup and customization