Updated with more convenience functions.