refactor a bit
dev