Initial attempt at using categories