added more register methods, up to 8 types