Attempt at functions pushing implementation