ported to new clasp