lua redesign (incomplete)