Separated implementation from test