Complete

No magic numbers. More comments.