Updated with more capabilities + naming constraints