Refactor to meet constraints defined in README