Updated to support more things.