cleaned up plugin structure