Added some suff and re-worked the structure.