savepoint

getting there... this is a stable version