refactors for comments etc