Make implementations function instead of variables