done with basic client side crud