My contribution... Can easily be made vector.