Updated interface.
Added implementations to new functions.