configuration and main