Updated to support additional functionality