good start, thanks for splitting up the interface patch from the implementation patch.