Initial creation. Based on existing solutions.