implementation of functions for later
working on symbolic evaluation.