Implementation seperated from declaration