refactor of advanced models to avoid code duplication
fixed broken basic models due to base model refactor