Probably worth adding a short javadoc to some of these methods