heap of extra functionality

please let me know your thoughts :)