Initial versions.
Added check and clean targets.
Major improvements.