new custom type, so user can use a custom size, icon and background