completed implementation; testing and debugging in progress