some restructuring changes, following is hardcoded at the moment
resolving merge conflict