Refactor to allow for tags