project view: implementing miners via protocols
project view: moved miner implementations to separate package