Updating type operations and added more documentation