implement config functionality