Cleaner implmentation
Better naming, fix for missing link