more strict composition