a bit more method organization