making api more like nano, needs testing