completed base of plugin including model and basic functionality