ported over more skel