simplified types a little