Added recursiveness and options for custom pointers