Teehee... encapsulate functions better