add an abstract and remove exception method

Signed-off-by: Caleb Cushing <xenoterracide@gmail.com>