lua datastractures and utilities