#87

Rewritten to fit mentioned objectives