Basic implementation
Added convenience function