reducing complexitiy a little more...