refactored to use pluggable views and load config file