Updates with extension methods

Committed extension methods and merged changes from Matt Monroe.