more implementation of rational library