Adding unit tests and run() implementation.