directly including function sources instead of linking objects together