The current coding is great if the `at` arg is omitted but will almost certainly fail if specified. improve coding and documentation.