refactor to include system