Reworked approach

Added better documentation