refactored to use shared sagex.py
minor metadata tweaks